#! /usr/bin/env node
const inquirer=require("inquirer")
const { program } = require('commander');
const fs=require("fs");
const path = require("path");
//判断是否为文件
const isFile=(filePath)=>fs.statSync(filePath).isFile();
//删除函数
const del=(fileName,delFlag)=>{
    const filePath=path.join(process.cwd(),fileName);
    if(delFlag==="y"){
        if(fs.existsSync(filePath)){
            if(isFile(filePath)){
                fs.unlinkSync(filePath)
                console.log("文件删除成功")
            }
            program
            .option("--d,--deldir", "删除文件夹", () => {
                delDir(filePath)
            })
            program.parse(process.argv);
            return;
        }
        else{
            console.log("文件或文件夹不存在")
            return;
        }
    }
}
inquirer.prompt([
    {
        type:"input",
        name:"请输入需要删除的文件",
    },
    {
        type:"list",
        name:"您确定要删除吗?",
        choices:["y","n"],
    }
]).then((res)=>{
    const fileName=res["请输入需要删除的文件"];
    const delFlag=res["您确定要删除吗?"];
    del(fileName,delFlag);
})
//删除文件夹
let delDir=url=>{
    //判断是否有此文件
    let exists=fs.existsSync(url);
    if(exists)
    {
        //判断是否为文件夹
        let stats=fs.statSync(url);
        if(stats.isFile())
        {
            //直接删除
            fs.unlinkSync(url);
        }
        else{
            //是文件夹
            //获取里面的内容
            let arr=fs.readdirSync(url);
            if(arr.length>0)
            {
                //循环遍历
                arr.forEach(item=>{
                    //合成路径
                    let childPath=path.join(url,item);
                    if(fs.statSync(childPath).isFile())
                    {
                        //是文件夹
                        // 直接删除
                        fs.unlinkSync(childPath);
                    }
                    else
                    {
                        //递归调用
                        delDir(childPath);
                    }
                })
            }
            fs.rmdirSync(url);
        }
    }
    else
    {
        console.log("没有此文件");
    }
}

